From f000baf0d63dfbdf4cdb212a184a53ba53cba362 Mon Sep 17 00:00:00 2001 From: Arjan Molenaar Date: Thu, 2 Feb 2023 21:48:58 +0100 Subject: [PATCH] wayland: Fix button mask for button 2 and 3 Wayland and GTK order mouse button 2 and 3 differently. Fixes #5561. --- gdk/wayland/gdkdevice-wayland.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c index d4e12f0fae..90ecad458a 100644 --- a/gdk/wayland/gdkdevice-wayland.c +++ b/gdk/wayland/gdkdevice-wayland.c @@ -1720,7 +1720,18 @@ pointer_handle_button (void *data, gdk_wayland_seat_set_frame_event (seat, event); - modifier = (GDK_BUTTON1_MASK << (button - BUTTON_BASE - 1)) & ALL_BUTTONS_MASK; + switch (button) + { + case BTN_RIGHT: + modifier = GDK_BUTTON3_MASK; + break; + case BTN_MIDDLE: + modifier = GDK_BUTTON2_MASK; + break; + default: + modifier = (GDK_BUTTON1_MASK << (button - BUTTON_BASE - 1)) & ALL_BUTTONS_MASK; + break; + } if (state) seat->pointer_info.button_modifiers |= modifier; -- 2.30.2